xen/arch/x86: complete XSM hooks on irq/pirq mappings
authorDaniel De Graaf <dgdegra@tycho.nsa.gov>
Wed, 23 Jan 2013 09:18:50 +0000 (09:18 +0000)
committerDaniel De Graaf <dgdegra@tycho.nsa.gov>
Wed, 23 Jan 2013 09:18:50 +0000 (09:18 +0000)
commit00b70689c193b9cccb1fac3c3764bed77e152c4e
tree7407375dc345426e1300ac53bd7ea166996856a8
parentdb984809d61b1c605d22520b89fa393bcb21430a
xen/arch/x86: complete XSM hooks on irq/pirq mappings

Manipulation of a domain's pirq namespace was not fully protected by
XSM hooks because the XSM hooks for IRQs needed a physical IRQ.  Since
this may not apply to HVM domains, a complete solution needs to split
the XSM hook for this operation, using one hook for the PIRQ
manipulation and one for controlling access to the hardware IRQ.

This reworking has the advantage of providing the same MSI data to
remove_irq that is provided to add_irq, allowing the PCI device to be
determined in both functions.  It also eliminates the last callers of
rcu_lock_target_domain_by_id in x86 and common code in preparation for
this function's removal.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Keir Fraser <keir@xen.org>
xen/arch/x86/irq.c
xen/arch/x86/physdev.c
xen/include/xsm/dummy.h
xen/include/xsm/xsm.h
xen/xsm/dummy.c
xen/xsm/flask/hooks.c
xen/xsm/flask/policy/access_vectors